package com.zzyl.framework.ai;

import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.chat.ChatResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * TODO
 *
 * @Author mr.Du
 * @Date 2025/5/20 2025/5/20
 */
@Component
public class AiInvoker {
    @Value("${qianfan.model}")
    private String model;

    @Value("${qianfan.temperature}")
    private String temperature;


    public String invokeQianFanChat(String prompt){
        ChatResponse response = new Qianfan().chatCompletion()
                .model(model) // 使用model指定预置模型
                .addMessage("user", prompt) // 添加用户消息 (此方法可以调用多次，以实现多轮对话的消息传递)
                .temperature(Double.valueOf(temperature)) // 自定义超参数
                .responseFormat("json_object")//指定result结果格式为JSON
                .execute(); // 发起请求
        return response.getResult();
    }
}
